<!DOCTYPE html>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Promise封装AJAX</title>
</head>
<body>
    <script>
        /**
         * 封装一个函数 sendAjax 发送GET
         * 参数：url
         * 返回结果：Promise对象
         */
        function sendAjax(url){
            return new Promise((resolve,reject)=>{
                const xhr = new XMLHttpRequest();
                xhr.responseType = 'json';
                xhr.open('GET',url);
                xhr.send();
                xhr.onreadystatechange = function(){
                    if(xhr.readyState === 4){
                        if(xhr.status >= 200 && xhr.status < 300){
                            resolve(xhr.response)
                        }else{
                            reject(xhr.status)
                        }
                    }
                }
            })
        };
        sendAjax('https://api.apiopen.top/getJoke')
        .then(value=>{
            console.log(value)
        },reason=>{
            console.warn(reason)
        })
    </script>
</body>
</html>